package com.frx.leetcode.classify.greedy;

/**
 * @author ：frx
 * @date ：Created in 2019/11/13 22:43
 * @description： 买卖股票的最佳时机
 * 给定一个数组 第i个元素 为一只股票第i天的价格 设计一个算法 求最大利润
 * 输入 ： {7,1,5,3,6,4}
 * 输出 5 第 2天买入 第5天卖出 最大利润是5
 * @modified By：
 * @version: ToDO
 */
public class BuySock {

    public static void main(String[] args){
        int[] arr = {7,1,5,3,6,4};
        System.out.println(solution(arr));
    }

    public static int maxProfit(int[] prices){
        int max = 0;
        for (int i=0;i<prices.length;i++){
            for (int j=i+1;j<prices.length;j++){
                if ((prices[j]-prices[i]) > max){
                    max = prices[j] - prices[i];
                }
            }
        }


        return max;
    }
    public static int solution(int[] prices){
        int min = prices[0];
        int max = 0;
        for (int i=1;i<prices.length;i++){
            if (prices[i] < min){
                min = prices[i];
            } else {
                if ((prices[i] - min) > max){
                    max = prices[i] - min;
                }
            }
        }

        return max;
    }

}
